MTC is a generic term of a series of techniques and combinations thereof for implementing data communication and exchange between machines, or between machines and humans by applying wireless communication technologies. MTC have two meanings, one of which refers to a machine itself, called as an intelligent device in the field of embedding, and the other one refers to a connection between machines to connect the machines through a network. MTC is applied broadly to such as intelligent measurement, remote monitoring, tracking and medical treatment etc., to make human life more intelligent. Compared with traditional communications between humans, MTC devices, which are numerous and applied widely, have a great market prospect.
An SIP is a signaling protocol proposed by the Internet Engineering Task Force (IETF) in 1999 to implement a real-time communication application in an Internet Protocol (IP)-based network, especially in a network environment having such a structure as the Internet, while a so-called session refers to data exchange between users. In an SIP protocol-based application, each session may be contents of various different types, which may be common text data, or may be digitalized audio and video data, or may be data of an application such as a game etc., thus session application is extremely flexible.
Components of an SIP network include an SIP user agent and an SIP server. Distinguished according to logical functions, an SIP network system is composed of four elements: SIP user agents, an SIP proxy server, a redirect server, and an SIP register server.
The SIP user agents, also known as SIP terminals, are ultimate users in the SIP system and defined as an application in a protocol RFC3261. According to different roles the SIP user agents play in sessions, the SIP user agents may be further divided into User Agent Clients (UAC) and User Agent Servers (UAS), wherein the former is configured to initiate a call request while the latter is configured to respond to the call request.
The SIP proxy server, which is an intermediary element, is both a client and a server and is capable of parsing a name, sending a call request to a next hop server on behalf of a user, and then the server determines a next hop address.
The redirect server, which is a server for planning an SIP call path, notifies a user immediately after obtaining a next hop address so that the user initiates a request to the next hop address while the user himself stops control over the call.
The SIP register server is configured to complete login to an UAS. In a network element of the SIP system, all UASs need to log in a certain server so that the UASs can be found by UACs through the server.
The SIP mainly supports the following functions.
1. User location: a location of an end system used by communication is determined;
2. Exchange of user capabilities: an employed medium type and an employed medium parameter are determined;
3. Determination of user availability: whether a called party is in an idle state and is willing to join in communication is determined.
4. Establishment of a call: a called party is invited and prompted, and a call parameter is transmitted between a calling party and the called party.
5. Processing of a call, which includes call termination and call transfer, and etc.
In practical application, the SIP protocol may be applied in a session establishment process in an MTC system.
In an MTC communication system, an MTC device may communicate with other MTC servers or MTC devices through a 3rd Generation Partnership Project (3GPP) network. For security reasons, when the MTC device communicates through the 3GPP network, a secure connection needs to be established between the MTC device and an MTC server, or between the MTC device and another MTC device. The secure connection between the MTC device and the MTC server or between the MTC device and the other MTC device belongs to a function of an application layer. For communication between the MTC device and the MTC server, an application layer session key may be generated between the communicating MTC device and MTC server through a Generic Bootstrapping Architecture (GBA) manner or a GBA-push manner, so as to establish the secure connection between the MTC device and the MTC server, thus implementing secure information interaction between the MTC device and the MTC server. Communication between MTC devices may be direct data communication of an application layer. As shown in FIG. 1, the communication between the MTC devices may be also indirect data communication of an application layer, which is performed by the MTC server, as shown in FIG. 2.
In a communication scenario between MTC devices, an application layer session key between the MTC devices cannot be generated directly through the GBA manner or the GBA-push manner. Since two communication parties are MTC devices, a secure connection cannot be established through the GBA manner or the GBA-push manner in communication between the MTC devices. The SIP protocol may be applied in a process of establishing a session between the MTC devices. However, the SIP is only applied to establish a session between the MTC devices. In this case, an application layer session key will not be generated in the process of establishing the session, thus a session connection established by the SIP can hardly ensure secure between the MTC devices. Then, a problem to be solved is how to establish an application layer session key between MTC devices while establishing a session between the MTC devices so as to establish a secure session connection between the communicating MTC devices.